package com.cheng.example.atguigu.view2;

/**
 * 重排序问题复现
 */
public class Client09 {

//    int a=0;
//    boolean flag = false;
//
//    public void method01() {
//        a = 1;
//        flag = true;
//    }
//
//    public void method02() {
//        if (flag) {
//            a = a + 1;
//            System.out.println(a);
//        }
//    }


    int a = 0;
    boolean flag = false;

    public void testA() {
        //语句1
        a = 1;
        //语句2
        flag = true;
    }

    public void testB() {
        if (flag) {
            a = a + 5;
            if (a == 5) {
                System.out.println(a);
            }
        }
    }

    public static void main(String[] args) {
        Client09 a = new Client09();
        for (int i = 0; i < 100000; i++) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    a.testA();
                }
            }, "A").start();

            new Thread(new Runnable() {
                @Override
                public void run() {
                    a.testB();
                }
            }, "B").start();
        }
    }


}
